///////////////////////////////////////////////////////////////////////////////////////////////////
/// \file psi3_interface.h
///
/// \brief   header file for accessing data from PSI3
///
///////////////////////////////////////////////////////////////////////////////////////////////////

#ifndef PCPS_PSI3_INTERFACE_HEADER
#define PCPS_PSI3_INTERFACE_HEADER

#include <src/pcps.h>

namespace pcps {

  void get_psi3_ints(const pcps::Input &, double &,               double * const,               double * const);
  void get_psi3_ints(const pcps::Input &, double &, std::complex<double> * const, std::complex<double> * const);
  void unpack_psi3_lower_triangle(const int n, const double * const lt, double * const oei);
  void orthogonalize_orbs_by_overlap(const int n,
                                     const std::vector<double> & overlap,
                                     std::vector<double> & int1,
                                     std::vector<double> & int2);

}

#endif
